1. Field of the Invention
The present invention generally relates to an image processing technique using an image input sensor, such as, a Complementary Metal-Oxide Semiconductor (CMOS) and a Charge Coupled Device (CCD). More particularly, the present invention relates to a method for eliminating defective pixels and thermal noise that are produced from an image input sensor.
2. Description of the Related Art
An image input sensor such as a CMOS or a CCD creates defective pixels and thermal noise due to process defects or shortcomings of the sensor itself. There are three main known methods for eliminating the defective pixels and the noise.
One of the known methods is to eliminate high frequency components by averaging pixel values within a predetermined mask using a mean filter. This average filtering method has at least two major problems. When there are Laplacian noise characteristics as in defective pixels, the noise is not easily removed. Although the average filtering method is effective in eliminating typical thermal noise, the image quality is degraded because the high frequency components are removed from an image during the filtering process.
Another known method is to arrange values within a predetermined mask using a median filter, and selecting a median value from among the values. Despite the benefits of high effectiveness in Laplacian noise elimination and good preservation of edges, there is a problem in that edge components with small values are removed like noise.
The other method is to use a weighted mean filter, expressed as
                                          out            ⁡                          [              r              ]                                ⁡                      [            c            ]                          =                                            mean              ⁡                              [                r                ]                                      ⁡                          [              c              ]                                +                                    var              ⁡                              (                                                      in                    ⁡                                          [                      r                      ]                                                        ⁡                                      [                    c                    ]                                                  )                                                    var_noise              +                              var                ⁡                                  (                                                            in                      ⁡                                              [                        r                        ]                                                              ⁡                                          [                      c                      ]                                                        )                                                                                        (        1        )            where r denotes the vertical-axis coordinate of an image, c denotes the horizontal-axis coordinate of the image, in[r][c] denotes the input pixel value at the [r][c] coordinates, out[r][c] denotes the output pixel values of the [r][c] coordinates, mean[r][c] denotes the mean of the [r][c] point, var[r][c] denotes the variance of the [r][c] point, and var_noise denotes a noise variance.
When the noise variance is larger than the energy of the input signal, the output approaches the mean, thus eliminating the noise. If the variance of a signal, such as an edge area, is larger than the noise variance, the output approaches the original signal in[r][c]. Therefore, the above-described method determines the output value depends in part on whether the image is an edge area and depends on the level of the noise.
Most of defective pixel and noise elimination methods proposed so far do not specify estimation of the level of noise. Thus, conventionally, the level of noise is estimated using a user-estimated-and-set parameter, or by separating a non-edge area from an image. The former does not eliminate noise reliably, whereas the latter requires a large volume of computation for the noise level estimation. Moreover, mean filters including weighted average filters do not perform well in eliminating defective pixels that are a kind of Laplacian noise, and median filters are not efficient in noise elimination, while preserving linearity.